Better with Kent · draft
Systems design is the job — not prompt engineering.
Reframe
Definition
Smallest unit of meaning your system exposes — composable without reimplementing how it works.
| System | Looks like | Examples | Without it |
|---|---|---|---|
| UI / design system | Component or token | Button, TextField, spacing scale |
Improvised styling — the UI looks bad |
| API / backend | Resource + verb | POST /orders, cancelSubscription(id) |
Logic reimplemented in the prompt — drifts from the system |
| Data | Entity or relationship | User, Order, OrderLineItem |
Ad-hoc shapes — agents guess at entities and relationships |
| Infra / platform | Bounded operation | deploy(service), rotateSecret(name) |
Raw shell instead of deploy + rollback |
| Agent / tools | Callable capability | Kody export, MCP tool, search, execute |
Browser automation, scraping, one-off bash |
| Events / workflows | Named occurrence | email.received, payment.failed |
Polling and tight coupling — hard to compose reactions |
| Auth / trust | Scoped permission | RBAC role, OAuth scope, publish grant | God-mode keys, shared credentials, no audit trail |
Nail the right primitives — then create, combine, delete, or expand as needed.
Create
Combine
Delete
Expand
Expand
flowchart LR email["email ingress"] --> bus["event system"] bus --> pkgA["package A"] bus --> pkgB["package B"]
Delete the fat handler. Expand packages. Combine on a shared bus.
Why it works
Homework
"What primitives exist in this system?
What should we create, combine, delete, or expand?"
Let the agent map the playground — then you judge the shape.
Better with Kent
Subscribe · like · comment · share